package com.sai.jsai.module.system.controller.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Size;
import lombok.Data;

/**
 * @author jisai
 * @version 0.0.1
 * @Description 系统角色基础VO
 * @createTime 2024/10/26
 */
@Schema(description = "系统管理 - 角色基础请求VO")
@Data
public class SysRoleBaseVO {

    /**
     * 角色名称
     */
    @Schema(description = "角色名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "管理员")
    @NotBlank(message = "角色名称不能为空")
    @Size(max = 30, message = "角色名称长度不能超过 30 个字符")
    private String name;

    /**
     * 角色标识
     */
    @Schema(description = "角色编码", requiredMode = Schema.RequiredMode.REQUIRED, example = "ADMIN")
    @NotBlank(message = "角色标志不能为空")
    @Size(max = 100, message = "角色标志长度不能超过 100 个字符")
    private String code;

    /**
     * 角色状态
     */
    @Schema(description = "状态", defaultValue = "0", example = "0")
    private Integer status;

    /**
     * 备注
     */
    @Schema(description = "备注", example = "我是一个角色")
    @Size(max = 500, message = "备注长度不能超过 500 个字符")
    private String remark;

}
